package com.fdb.efp.nls.service.facade.psd;

import com.fdb.basic.framework.core.vo.RetMsgVO;

import java.math.BigDecimal;

public interface QuotaCheckService {

    /**
     * 授信申请额度预占用
     * @param sxApplySeq 授信申请流水号
     * @param approveLimit 预占用额度
     * @return
     */
    RetMsgVO preOccupied(String sxApplySeq, BigDecimal approveLimit) throws Exception;

    /**
     * 校验产品是否超额
     *
     * @param prdId 产品编码
     * @return
     */
    RetMsgVO check(String prdId) throws Exception;

    /**
     * 根据当前审批额度判断是否超额
     *
     * @param prdId        产品编码
     * @param approveLimit 风控审批额度
     * @return
     */
    RetMsgVO check(String prdId, BigDecimal approveLimit) throws Exception;

    /**
     * 清除授信预占用限额
     * @param sxApplySeq
     * @return
     */
    void clearPreOccupied(String sxApplySeq);

    /**
     * 根据流水号修改预占用额度
     * @param sxApplySeq 授信申请流水号
     * @param amt 额度
     */
    void updatePreOccupied(String sxApplySeq,BigDecimal amt);
}
